// pages/login/login.js

// 导入封装通用模块方法
import { toast } from '../../utils/extendApi'
// 导入本地存储 api
import { setStorage, getStorage, removeStorage, clearStorage } from '../../utils/storage'
// 导入接口 API 函数
import { reqLogin, generateToken } from '../../api/user'
import { getClassList, register, getClassName } from '../../api/clazz'
Page({
	data: {
		userName: '',
		password: ''
	},

	onUsernameInput(e) {
		this.setData({
			userName: e.detail.value
		});
	},

	onPasswordInput(e) {
		this.setData({
			password: e.detail.value
		});
	},
	onShow: function () {
		const userName = getStorage('userName')
		this.setData({
			userName: userName
		});
		// 注册完，清除本地存储中的该临时变量
		removeStorage('userName')
	},

	// 授权登录
	login() {
		const { userName, password } = this.data;
		if (!userName || !password) {
			toast({
				title: '用户名和密码不能为空',
				icon: 'none'
			});
			return;
		}
		// 将临时token和timestamp存储到本地
		generateToken();

		// 调用reqLogin进行登录请求,将账号密码提交后台，进行验证
		reqLogin(userName, password, (result) => {
			setStorage('userInfo', result);
			// 获取班级列表，并存储班级名称在本地
			getClassName(result.classesId, (result) => {
				console.log('获取到的班级信息为:', result);
				setStorage('classInfo', result)

				toast({ title: "登录成功" });
				// 登录成功后的操作，例如跳转页面等
				wx.navigateBack();
			});
		});
	},

	// 跳转到注册页面
	goToRegister() {
		wx.navigateTo({
			url: '/pages/register/register'
		})
	}
})
